package cn.baage.campus.service;

import cn.baage.campus.model.po.User;
import cn.baage.campus.model.dto.UserRoleDTO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @Description: 用户Service
 * @Author: 八阿哥
 * @url: baage.cn
 * @Version: 1.0
 **/
public interface UserService extends IService<User> {


    /**
     * 根据用户名获取用户
     *
     * @param username 用户名
     * @return 用户信息
     */
    UserRoleDTO getAuthInfoByUserName(String username);


    /**
     * 根据微信ID获取用户
     *
     * @param wxId 用户名
     * @return 用户信息
     */
    UserRoleDTO getAuthInfoByWx(String wxId);


    /**
     * 获取登录用户信息
     *
     * @return 登录用户信息
     */
    User getLoginUserInfo();


    /**
     * 根据用户名获取用户信息
     *
     * @param username 用户名
     * @return 用户信息
     */
    User getByUserName(String username);


    /**
     * 根据邮箱获取用户信息
     *
     * @param email 邮箱
     * @return 用户信息
     */
    User getByEmail(String email);

    /**
     * 更新用户信息
     *
     * @param user 用户信息
     */
    void updateUserInfo(User user);

    /**
     * 更新个人信息
     *
     * @param user 更新信息
     */
    void updateLoginInfo(User user);
}
